package com.whpost.api.config;

import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.stp.StpUtil;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @author Peter Cheung
 * 暂时不知道作用
 * 2023/7/19 13:52
 */
@Configuration
public class SaTokenConfigure implements WebMvcConfigurer {
    // 注册 Sa-Token 拦截器，打开注解式鉴权功能
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 注册 Sa-Token 的路由拦截器
        registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
                .addPathPatterns("/**")
                .excludePathPatterns("/loginDo")
                .excludePathPatterns("/xgmm")
                .excludePathPatterns("/test")
                .excludePathPatterns("/loginDoApp")
                .excludePathPatterns("/vcode")
                .excludePathPatterns("/stamp/h5/api/login")
                .excludePathPatterns("/stamp/h5/api/login_test")
                .excludePathPatterns("/stamp/h5/api/login_do_wx")
                .excludePathPatterns("/stamp/h5/api/getsp")
                .excludePathPatterns("/sys/file/download")
                .excludePathPatterns("/stamp/tp/**")
                .excludePathPatterns("/stamp/bdsp/**")
                .excludePathPatterns("/h5/pay/paysuc")
                .excludePathPatterns("/h5/pay/query")
                .excludePathPatterns("/h5/wd/**")
                .excludePathPatterns("/stamp/h5/api/xss")
                .excludePathPatterns("/sys/file/download_apk");
    }

}